/* -----------------------------------------------------------------------
 *   Copyright (C) 2008 by Denjs
 *   dplsoft@pisem.net
 *   http://qdroid.berlios.de
 * -----------------------------------------------------------------------
 *   This program is free software licensed under GNU GPL License v.2 ; see main.cpp fo details
 *   Эта программа является свободным программным обеспечением; распространяемым под
 *   лицензией GNU General Public License v.2 (УНИВЕРСАЛЬНАЯ ОБЩЕСТВЕННАЯ ЛИЦЕНЗИЯ GNU версия 2.0) 
 * ----------------------------------------------------------------------- */
/*
 * t_FunctionRegistryItem.h
 *
 *  Created on: 18.11.2008
 *      Author: Denjs
 */

#ifndef T_FUNCTIONREGISTRYITEM_H_
#define T_FUNCTIONREGISTRYITEM_H_
#include <QtCore>
#include <QTextCodec>

/*
 элемент записи реестра функций

*/
class t_FunctionRegistryItem : public QObject
{
    Q_OBJECT

	public:
		QString ID;
		QString FileName;
		QString DirPath;
/*на будущее*/	QStringList SettingsFile;//файл с настройками данного экземпляра
		QString Name;// рабочее название экземпляра
		QString Description;
		QStringList ScriptSource; //текст исходника. пока считаем что не более чем временная копия.
			//При запуске - все равно перечитываем файл.
			
		int load_from_file(QString FileName);
		int save_to_file(QString FileName);
			
			
		t_FunctionRegistryItem(QObject *parent=0);
		t_FunctionRegistryItem(const t_FunctionRegistryItem &other);//для контейнер QList
		t_FunctionRegistryItem& operator=(const t_FunctionRegistryItem &other);//для контейнер QList
			
	public slots:
		int init_execution(); //инициировать исполнение скрипта.
		//фактически приводит к испусканию сигнала script_to_be_executed()
		//сигнал от кнопки или элемента связанного с этим скриптом
			
	signals:
		void script_to_be_executed(QStringList ScriptSource);// отсылаем текст скрипта, в надежде что его исполнят.
		void std_out(QString Message);
};


#endif /* T_FUNCTIONREGISTRYITEM_H_ */
